/*
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.exadel.aem.toolkit.plugin.handlers.widgets.cases;

import com.exadel.aem.toolkit.api.annotations.main.AemComponent;
import com.exadel.aem.toolkit.api.annotations.main.Dialog;
import com.exadel.aem.toolkit.api.annotations.widgets.DialogField;
import com.exadel.aem.toolkit.api.annotations.widgets.FieldSet;
import com.exadel.aem.toolkit.api.annotations.widgets.Password;
import com.exadel.aem.toolkit.plugin.maven.TestConstants;

@AemComponent(
        path = TestConstants.DEFAULT_COMPONENT_NAME,
        title = "Password Widget Dialog"
)
@Dialog
@SuppressWarnings("unused")
public class PasswordWidget {

    @DialogField(validation = "foundation.jcr.name")
    @Password(
            emptyText = "test-password",
            autocomplete = "on",
            autofocus = true,
            retype = "retype-password"
    )
    String password;

    @FieldSet(
        value = NestedPassword.class,
        namePrefix = "../../",
        namePostfix = "21"
    )
    private String nestedPassword;

    private static class NestedPassword {
        @DialogField
        @Password(retype = "retype-password")
        String password;
    }
}
